package cn.sytton.taffe.web.sys.service;

import cn.sytton.taffe.framework.base.service.IBaseService;
import cn.sytton.taffe.web.sys.entity.*;
import com.github.pagehelper.PageInfo;
import cn.sytton.taffe.framework.base.entity.PageParam;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 角色服务层接口
 *
 * @author skyrock
 */
public interface IRoleService extends IBaseService<RoleEntity> {
    /**
     * 根据角色ID查询用户列表
     * @param roleId 角色ID
     * @param pp 分页参数
     * @return 用户列表分页对象
     */
    PageInfo<UserEntity> findUserListPage(String roleId, PageParam pp);

    /**
     * 查询多个
     * @param ids id数组
     */
    List<RoleEntity> findByIds(String[] ids);

    /**
     * 添加角色用户
     * @param entity userIds, roleId
     */
    void addUsers(RoleUserEntity entity);

    /**
     * 移除角色用户
     * @param entity userIds, roleId
     */
    void removeUsers(RoleUserEntity entity);

    /**
     * 修改角色状态
     * @param entity 角色对象
     */
    void updateRoleStatus(RoleEntity entity);

    /**
     * 导入
     * @param file 导入file
     * @return 返回导入结果文件名称
     */
    String importData(MultipartFile file);
}
